home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Franz PD / Franz PD Disk #277 (1993)(Rhein-Sieg-Soft).zip / Franz PD Disk #277 (1993)(Rhein-Sieg-Soft).adf / AAV / AAV.p < prev    next >
Text File  |  1993-11-01  |  23KB  |  587 lines

  1. PROGRAM Adressen_Verwaltung;
  2. USES Printer;
  3. CONST A = 500;
  4.       B = 5;
  5. TYPE Angaben = STRING[30];
  6.      T_Adressen = ARRAY[1..A,1..B] OF Angaben;
  7.  
  8. VAR Adressen             : T_Adressen;
  9.     Dateiname            : Angaben;
  10.     Anzahl,IntWahl,Daten : INTEGER;
  11.     Wahl                 : CHAR;
  12.     Options              : STRING;
  13.     Window               : TEXT;
  14.  
  15. PROCEDURE Nothing
  16. BEGIN
  17. END;
  18.  
  19. PROCEDURE COORD(x,y:INTEGER);
  20. BEGIN
  21.   WRITE(Window,chr($9b),y,';',x,'H');
  22. END;
  23.  
  24. PROCEDURE DownWindow;
  25. BEGIN
  26.  
  27.   COORD(1,25);
  28.   WRITELN(Window,'=========================================================================');
  29.   WRITELN(Window,'=',Options,'=');
  30.   WRITELN(Window,'=========================================================================');
  31.  
  32. END;
  33.  
  34. PROCEDURE MainMenu;
  35. BEGIN
  36.   Wahl := ' ';
  37.   CLRSCR(Window);
  38.  
  39.   WRITELN(Window,'=========================================================================');
  40.   WRITELN(Window,'=        A M I G A  A D R E S S E N  V E R W A L T U N G  V 1 . 0       =');
  41.   WRITELN(Window,'=========================================================================');
  42.  
  43.   Options :=' ©1993 Holger Mense **** Freeware *** !Copy Me, I Want To Travel! **** ';
  44.   DownWindow;
  45.   COORD(1,4);
  46.   WRITELN(window);
  47.   WRITELN(Window,'              [1] ... Adressen eingeben');
  48.   WRITELN(Window,'              [2] ... Adressen ausgeben');
  49.   WRITELN(Window,'              [3] ... Adressen laden');
  50.   WRITELN(Window,'              [4] ... Adressen speichern');
  51.   WRITELN(Window,'              [5] ... Adressen sortieren');
  52.   WRITELN(Window,'              [6] ... Adressen suchen');
  53.   WRITELN(Window,'              [7] ... Adressen löschen');
  54.   WRITELN(Window,'              [8] ... Adressen drucken');
  55.   WRITELN(Window,'              [9] ... Informationen');
  56.   WRITELN(Window,'              [0] ... Ende');
  57.   WRITELN(Window);
  58.   WRITE(Window,'             > ');
  59.   READLN(Window,IntWahl);
  60. END;
  61.  
  62. PROCEDURE Eingeben;
  63. BEGIN
  64.   REPEAT;
  65.   Wahl := ' ';
  66.   Inc(Anzahl);
  67.   CLRSCR(Window);
  68.  
  69.   WRITELN(Window,'=========================================================================');
  70.   WRITELN(Window,'=                   A D R E S S E N  E I N G A B E                      =');
  71.   WRITELN(Window,'=========================================================================');
  72.  
  73.   Options :=' Benutzen Sie die Tastatur für Ihre Eingaben, RETURN zum bestätigen... ';
  74.   DownWindow;
  75.   COORD(1,4);
  76.   WRITELN(Window);
  77.   REPEAT;
  78.   COORD(1,5);
  79.   WRITELN(Window,'Hausname      : ');
  80.   WRITELN(Window,'Vorname       : ');
  81.   WRITELN(Window,'Straße        : ');
  82.   WRITELN(Window,'Stadt         : ');
  83.   WRITELN(Window,'Telefonnummer : ');
  84.   COORD(17,5);READLN(Window,Adressen[Anzahl,1]);
  85.   COORD(17,6);READLN(Window,Adressen[Anzahl,2]);
  86.   COORD(17,7);READLN(Window,Adressen[Anzahl,3]);
  87.   COORD(17,8);READLN(Window,Adressen[Anzahl,4]);
  88.   COORD(17,9);READLN(Window,Adressen[Anzahl,5]);
  89.   COORD(1,23);
  90.   WRITE(Window,'Möchten Sie noch etwas ändern (j/n)? ');
  91.   READLN(Window,Wahl);
  92.   UNTIL (Wahl = 'n') OR (Wahl = 'N');
  93.   COORD(1,23);
  94.   WRITE(Window,'Möchten Sie noch eine Adresse eingeben (j/n)? '); READLN(Window,Wahl);
  95.   UNTIL (Wahl = 'n') OR (Wahl ='N');
  96.   Daten := 1;
  97. END;
  98.  
  99. PROCEDURE Ausgeben;
  100. VAR x      : INTEGER;
  101.     Action : CHAR;
  102. BEGIN
  103.   IF Daten = 0 THEN Nothing
  104.   ELSE BEGIN
  105.   CLRSCR(Window);
  106.  
  107.   WRITELN(Window,'=========================================================================')
  108.   WRITELN(Window,'=                     A D R E S S E N  A U S G A B E                    =')
  109.   WRITELN(Window,'=========================================================================')
  110.  
  111.   Options :='   + = Datensatz weiter     |    - = Datensatz zurück   |   0 = Ende  ='
  112.   DownWindow;
  113.   COORD(1,4);
  114.   WRITELN(Window);
  115.   x := 1;
  116.   REPEAT;
  117.   IF Action = '+' THEN x := x + 1;
  118.   IF Action = '-' THEN x := x - 1;
  119.   IF x > Anzahl THEN x := Anzahl;
  120.   IF x < 1 THEN x := 1;
  121.   COORD(1,5);
  122.   WRITELN(Window,'Adressen Gesamt: ',Anzahl,' *** Adressennummer: ',x);
  123.   COORD(1,7);
  124.   WRITELN(Window,'Hausname      : ',Adressen[x,1],'                          ');
  125.   WRITELN(Window,'Vorname       : ',Adressen[x,2],'                          ');
  126.   WRITELN(Window,'Straße        : ',Adressen[x,3],'                          ');
  127.   WRITELN(Window,'Stadt         : ',Adressen[x,4],'                          ');
  128.   WRITELN(Window,'Telefonnummer : ',Adressen[x,5],'                          ');
  129.   WRITELN(Window);
  130.   WRITE(Window,'> ');
  131.   READLN(Window,Action);
  132.   UNTIL Action = '0';
  133. END;
  134. END;
  135.  
  136. PROCEDURE Laden;
  137. VAR Datei   : TEXT;
  138.     y,z     : INTEGER;
  139.     DatName : STRING
  140. BEGIN
  141.   Wahl := ' ';
  142.   CLRSCR(Window);
  143.   WRITELN(Window,'==========================================================================');
  144.   WRITELN(Window,'=                        A D R E S S E N  L A D E N                      =');
  145.   WRITELN(Window,'==========================================================================');
  146.   WRITELN(Window);
  147.   IF Daten = 1 THEN WRITELN(Window,'ACHTUNG! NICHT GESPEICHERTE DATEN SIND IM SPEICHER! DIESE WERDEN GELÖSCHT!');
  148.   WRITE(Window,'Name der Datei [RETURN = Exit]: ');
  149.   READLN(Window,DatName);
  150.   IF DatName = '' THEN WRITELN(Window)
  151.   ELSE BEGIN
  152.   DatName := CONCAT(DatName,'.AAV');
  153.   WRITELN(Window);WRITELN(Window,'Lade Daten aus dem File ',DatName,'... Bitte warten...');
  154.   ASSIGN(Datei,DatName);
  155.   RESET(Datei);
  156.   READLN(Window,Datei,Anzahl);
  157.   FOR y := 1 to Anzahl DO
  158.     BEGIN
  159.       FOR z := 1 to 5 DO
  160.        READLN(Window,Datei,Adressen[y,z]);
  161.     END;
  162.   CLOSE(Datei);
  163.   Daten := 1;
  164.  END;
  165. END;
  166.  
  167. PROCEDURE Speichern;
  168. VAR Datei   : TEXT;
  169.     y,z     : INTEGER;
  170.     DatName : STRING;
  171. BEGIN
  172.   IF Daten = 0 THEN Nothing
  173.   ELSE BEGIN
  174.   Wahl := ' ';
  175.   CLRSCR(Window);
  176.  
  177.   WRITELN(Window,'=========================================================================')
  178.   WRITELN(Window,'=                    A D R E S S E N  S P E I C H E R N                 =')
  179.   WRITELN(Window,'=========================================================================')
  180.   WRITELN(Window);
  181.   WRITE(Window,'Name der Datei [RETURN = Exit]: ');
  182.   READLN(Window,DatName);
  183.   IF DatName = '' THEN WRITELN
  184.   ELSE BEGIN
  185.   DatName := CONCAT(DatName,'.AAV');
  186.   WRITELN(Window);WRITELN(Window,'Speicher Daten in das File ',DatName,'... Bitte warten...');
  187.   ASSIGN(Datei,DatName);
  188.   REWRITE(Datei);
  189.   WRITELN(Datei,Anzahl);
  190.   FOR y := 1 to Anzahl DO
  191.     BEGIN
  192.       FOR z := 1 to 5 DO
  193.        WRITELN(Datei,Adressen[y,z]);
  194.     END;
  195.   CLOSE(Datei);
  196.  Daten := 0;
  197.  END;
  198. END;
  199. END;
  200.  
  201. PROCEDURE Sortieren;
  202. VAR z,u,Src  : INTEGER;
  203.     Help     : ARRAY[1..5] OF Angaben;
  204. BEGIN
  205.   IF Daten = 0 THEN Nothing
  206.   ELSE BEGIN
  207.   REPEAT;
  208.   Wahl := ' ';
  209.   CLRSCR(Window);
  210.   WRITELN(Window,'=========================================================================');
  211.   WRITELN(Window,'=                   A D R E S S E N  S O R T I E R E N                  =');
  212.   WRITELN(Window,'=========================================================================');
  213.  
  214.   WRITELN(Window);
  215.   WRITELN(Window,'                    Sortierkriterium:');
  216.   WRITELN(Window);
  217.   WRITELN(Window,'                    [1] ... Hausname');
  218.   WRITELN(Window,'                    [2] ... Vorname');
  219.   WRITELN(Window,'                    [3] ... Straße');
  220.   WRITELN(Window,'                    [4] ... Stadt');
  221.   WRITELN(Window,'                    [5] ... Ende');
  222.   WRITELN(Window);
  223.   WRITE(Window,'                   > ');
  224.   READLN(Window,Wahl);
  225.   UNTIL (Wahl > '0') AND (Wahl < '6');
  226.   CASE Wahl OF
  227.     '1' : BEGIN
  228.             Src := 1; END;
  229.     '2' : BEGIN
  230.             Src := 2; END;
  231.     '3' : BEGIN
  232.             Src := 3; END;
  233.     '4' : BEGIN
  234.             Src := 4; END;
  235.     '5' : BEGIN
  236.             MainMenu; END;
  237.   END;
  238.   CLRSCR(Window);
  239.   WRITELN(Window,'=========================================================================');
  240.   WRITELN(Window,'=                   A D R E S S E N  S O R T I E R E N                  =');
  241.   WRITELN(Window,'=========================================================================');
  242.  
  243.   WRITELN(Window);WRITELN(Window,'Sortiere ',Anzahl,' Adressen nach dem Alphabet... Bitte warten...');
  244.   WRITELN(Window);
  245.   FOR z := 2 TO Anzahl DO
  246.    BEGIN
  247.    IF Adressen[z-1,Src] > Adressen [Z,Src] THEN BEGIN
  248.                                                   FOR u := 1 TO 5 DO
  249.                                                    BEGIN
  250.                                                      Help[u] := Adressen[z-1,u];
  251.                                                      Adressen[z-1,u] := Adressen[z,u];
  252.                                                      Adressen[z,u] := Help[u];
  253.                                                    END;
  254.                                                 END;
  255.    COORD(1,7);
  256.    IF Anzahl-z = 1 THEN WRITELN(Window,Anzahl-z,' Adresse muß noch sortiert werden...      ')
  257.                   ELSE WRITELN(Window,Anzahl-z,' Adressen müssen noch sortiert werden...')
  258.    COORD(1,9); WRITELN(Window,'Hausname      : ',Adressen[z,1]);
  259.    COORD(1,10);WRITELN(Window,'Vorname       : ',Adressen[z,2]);
  260.    COORD(1,11);WRITELN(Window,'Straße        : ',Adressen[z,3]);
  261.    COORD(1,12);WRITELN(Window,'Stadt         : ',Adressen[z,4]);
  262.    COORD(1,13);WRITELN(Window,'Telefonnummer : ',Adressen[z,5]);
  263.   END;
  264. END;
  265. END;
  266.  
  267. PROCEDURE Suchen;
  268. VAR Return,Gesucht:STRING[30]
  269.     x,SuchWahl,y : INTEGER;
  270.  
  271. BEGIN
  272.   IF Daten = 0 THEN Nothing
  273.   ELSE BEGIN
  274.   REPEAT;
  275.   Wahl := ' ';
  276.   CLRSCR(Window);
  277.  
  278.   WRITELN(Window,'=========================================================================');
  279.   WRITELN(Window,'=                      A D R E S S E N  S U C H E N                     =');
  280.   WRITELN(Window,'=========================================================================');
  281.  
  282.   WRITELN(Window);
  283.   WRITELN(Window,'                       Suchkriterium:');
  284.   WRITELN(Window);
  285.   WRITELN(Window,'                       [1] ... Hausname');
  286.   WRITELN(Window,'                       [2] ... Vorname');
  287.   WRITELN(Window,'                       [3] ... Straße');
  288.   WRITELN(Window,'                       [4] ... Stadt');
  289.   WRITELN(Window,'                       [5] ... Telefonnummer');
  290.   WRITELN(Window,'                       [0] ... Ende');
  291.   WRITELN(Window);
  292.   WRITE(Window,'                      > ');
  293.   READLN(Window,SuchWahl);
  294.   UNTIL (SuchWahl > -1) AND (SuchWahl < 6);
  295.   IF Wahl = '0' THEN MainMenu;
  296.   CLRSCR(Window);
  297.   Wahl := ' ';
  298.  
  299.   WRITELN(Window,'=========================================================================');
  300.   WRITELN(Window,'=                      A D R E S S E N  S U C H E N                     =');
  301.   WRITELN(Window,'=========================================================================');
  302.  
  303.   WRITELN(Window);
  304.   CASE SuchWahl OF
  305.    1 : BEGIN
  306.            x := 1;
  307.           END;
  308.    2 : BEGIN
  309.            x := 2;
  310.          END;
  311.    3 : BEGIN
  312.            x := 3;
  313.          END;
  314.    4 : BEGIN
  315.            x := 4;
  316.          END;
  317.    5 : BEGIN
  318.            x := 5;
  319.          END;
  320.    0 : BEGIN
  321.            MainMenu;
  322.          END;
  323.   END;
  324. WRITE(Window,'Gesucht : ');READLN(Window,Gesucht);
  325. FOR y := 1 TO Anzahl DO
  326. BEGIN
  327.   IF Gesucht = Adressen[y,x] THEN BEGIN
  328.                                   COORD(1,5); WRITELN(Window,'Hausname      : ',Adressen[y,1],'                             ');
  329.                                   COORD(1,6); WRITELN(Window,'Vorname       : ',Adressen[y,2],'                             ');
  330.                                   COORD(1,7); WRITELN(Window,'Straße        : ',Adressen[y,3],'                             ');
  331.                                   COORD(1,8); WRITELN(Window,'Stadt         : ',Adressen[y,4],'                             ');
  332.                                   COORD(1,9); WRITELN(Window,'Telefonnummer : ',Adressen[y,5],'                             ');
  333.                                   END;
  334.  END;
  335. COORD(1,12);
  336. WRITE(Window,'                                     [RETURN]'); READLN(Window,Return);
  337. END;
  338.  
  339.  
  340. BEGIN
  341. END;
  342. END;
  343.  
  344. PROCEDURE Drucktyp1;
  345. VAR x : INTEGER;
  346. BEGIN
  347.   FOR x := 1 TO Anzahl DO
  348.     BEGIN
  349.       COORD(1,8); WRITELN(Window,'Hausname      : ',Adressen[x,1],'                         '); WRITELN(lst,'Hausname      : ',Adressen[x,1]);
  350.       COORD(1,9); WRITELN(Window,'Vorname       : ',Adressen[x,2],'                         '); WRITELN(lst,'Vorname       : ',Adressen[x,2]);
  351.       COORD(1,10);WRITELN(Window,'Straße        : ',Adressen[x,3],'                         '); WRITELN(lst,'Straße        : ',Adressen[x,3]);
  352.       COORD(1,11);WRITELN(Window,'Stadt         : ',Adressen[x,4],'                         '); WRITELN(lst,'Stadt         : ',Adressen[x,4]);
  353.       COORD(1,12);WRITELN(Window,'Telefonnummer : ',Adressen[x,5],'                         '); WRITELN(lst,'Telefonnummer : ',Adressen[x,5]); WRITELN(lst,' ');
  354.     END;
  355. END;
  356.  
  357. PROCEDURE Drucktyp2;
  358. VAR x : INTEGER;
  359. BEGIN
  360.   FOR x := 1 TO Anzahl DO
  361.     BEGIN
  362.       COORD(1,8); WRITELN(Window,Adressen[x,2],' ',Adressen[x,1],'                         '); WRITELN(lst,Adressen[x,2],' ',Adressen[x,1]);
  363.       COORD(1,9); WRITELN(Window,Adressen[x,3],'                                           '); WRITELN(lst,Adressen[x,3]);
  364.       COORD(1,10);WRITELN(Window,Adressen[x,4],'                                           '); WRITELN(lst,Adressen[x,4]);
  365.       COORD(1,11);WRITELN(Window,'Tel.: ',Adressen[x,5],'                                           '); WRITELN(lst,'Tel.: ',Adressen[x,5]); WRITELN(lst,' ');
  366.     END;
  367. END;
  368.  
  369. PROCEDURE Drucken;
  370. VAR x : INTEGER;
  371.     NewWahl : CHAR;
  372. BEGIN
  373.   IF Daten = 0 THEN Nothing
  374.   ELSE BEGIN
  375.   Wahl := ' ';
  376.   CLRSCR(Window);
  377.  
  378.   WRITELN(Window,'=========================================================================');
  379.   WRITELN(Window,'=                      A D R E S S E N  D R U C K E N                   =');
  380.   WRITELN(Window,'=========================================================================');
  381.  
  382.   Options :=' C.O.M.P.U.T.E.R  AN  D.R.U.C.K.E.R + C.O.M.P.U.T.E.R  AN  D.R.U.C.K.E.';
  383.   DownWindow;
  384.   COORD(1,4);
  385.   WRITELN(Window);WRITE(Window,'Wollen Sie wirklich drucken (j/n)? ');
  386.   READLN(Window,NewWahl);
  387.   IF (NewWahl = 'n') OR (NewWahl = 'N') THEN MainMenu
  388.                                                                        ELSE REPEAT
  389.                                                                             CLRSCR(Window);
  390.  
  391.                                                                             WRITELN(Window,'=========================================================================');
  392.                                                                             WRITELN(Window,'=                      A D R E S S E N  D R U C K E N                   =');
  393.                                                                             WRITELN(Window,'=========================================================================');
  394.  
  395.                                                                             DownWindow;
  396.                                                                             COORD(1,4);
  397.                                                                             WRITELN(Window);
  398.                                                                             WRITELN(Window,'Typ 1:                                   | Typ 2:');
  399.                                                                             WRITELN(Window,'Hausname       : Mense                   | Holger Mense');
  400.                                                                             WRITELN(Window,'Vorname        : Holger                  | Im Schilffeld 34');
  401.                                                                             WRITELN(Window,'Straße         : Im Schilffeld 34        | 33378 Rheda-Wiedenbrück');
  402.                                                                             WRITELN(Window,'Stadt          : 33378 Rheda-Wiedenbrück | Tel.: 05242 / 2891');
  403.                                                                             WRITELN(Window,'Telefonnummmer : 05242 / 2891            |');
  404.                                                                             WRITELN(Window,'-----------------------------------------+-------------------------------');
  405.                                                                             WRITELN(Window);WRITE(Window,'In welchem Modus sollen Ihre Adressen gedruckt werden? Typ 1 oder 2 (1/2): ');
  406.                                                                             READLN(Window,NewWahl);
  407.                                                                             UNTIL (NewWahl = '1') OR (NewWahl = '2');
  408.                                                                             CLRSCR(Window);
  409.  
  410.                                                                             WRITELN(Window,'=========================================================================');
  411.                                                                             WRITELN(Window,'=                      A D R E S S E N  D R U C K E N                   =');
  412.                                                                             WRITELN(Window,'=========================================================================');
  413.  
  414.                                                                             WRITELN(Window);WRITELN(Window,'Drucke...');
  415.                                                                             WRITELN(Window);
  416.  
  417.  
  418.                                                                             IF NewWahl = '1' THEN Drucktyp1
  419.                                                                                              ELSE Drucktyp2
  420.  
  421.  
  422.  
  423. END;
  424. END;
  425.  
  426.  
  427.  
  428.  
  429.  
  430. PROCEDURE AllesLoeschen;
  431. VAR x,z : INTEGER;
  432. BEGIN
  433.   CLRSCR(Window);
  434.  
  435.   WRITELN(Window,'=========================================================================');
  436.   WRITELN(Window,'=                        A D R E S S E N  L Ö S C H E N                 =');
  437.   WRITELN(Window,'=========================================================================');
  438.  
  439.   WRITELN(Window);
  440.   WRITELN(Window,'Wenn Sie jetzt "j" (JA) eingeben, dann sind ihre gesamten Adressen');
  441.   WRITE(Window,'unwiederruflich verloren!! Sind Sie sicher (j/n)? ');READLN(Window,Wahl);
  442.   IF (Wahl = 'j') OR (Wahl = 'J') THEN
  443.                                        FOR x := 1 TO Anzahl DO
  444.                                          BEGIN
  445.                                          FOR z := 1 TO 5 DO
  446.                                            BEGIN
  447.                                            Adressen[x,z] := '';
  448.                                          END;
  449.                                          Anzahl := 0
  450.                                          Daten := 1;
  451.                                          END;
  452.  
  453.  
  454. END;
  455.  
  456. PROCEDURE BestimmteLoeschen;
  457. VAR a,b,Adressennummer : INTEGER;
  458.  
  459. BEGIN
  460.   CLRSCR(Window);
  461.   WRITELN(Window,'=========================================================================');
  462.   WRITELN(Window,'=                        A D R E S S E N  L Ö S C H E N                 =');
  463.   WRITELN(Window,'=========================================================================');
  464.  
  465.   WRITELN(Window);
  466.   WRITELN(Window,'Hausname      : ');
  467.   WRITELN(Window,'Vorname       : ');
  468.   WRITELN(Window,'Stadt         : ');
  469.   WRITELN(Window,'Straße        : ');
  470.   WRITELN(Window,'Telefonnummer : ');
  471.   WRITELN(Window);
  472.   WRITE(Window,'Welche Adressennummer wollen Sie löschen (',Anzahl-Anzahl+1,' -> ',Anzahl,'): ');
  473.   READLN(Window,Adressennummer);
  474.   IF Adressennummer = 0 THEN Nothing
  475.   ELSE BEGIN
  476.   COORD(17,5); WRITELN(Window,Adressen[Adressennummer,1]);
  477.   COORD(17,6); WRITELN(Window,Adressen[Adressennummer,2]);
  478.   COORD(17,7); WRITELN(Window,Adressen[Adressennummer,3]);
  479.   COORD(17,8); WRITELN(Window,Adressen[Adressennummer,4]);
  480.   COORD(17,9); WRITELN(Window,Adressen[Adressennummer,5]);
  481.   COORD(1,11); WRITELN(Window,'                                                                                                    ');
  482.   COORD(1,11); WRITE(Window,'Sind Sie sicher (j/n)? '); READLN(Window,Wahl);
  483.   IF (Wahl = 'j') OR (Wahl= 'J') THEN BEGIN
  484.                                        FOR a := Adressennummer to Anzahl-1 DO
  485.                                         BEGIN
  486.                                           FOR b := 1 to 5 DO
  487.                                             BEGIN
  488.                                               Adressen[a,b] := Adressen[a+1,b];
  489.                                             END;
  490.                                           END;
  491.                                        FOR b := 1 to 5 DO
  492.                                          BEGIN
  493.                                            Adressen[Anzahl,b] := '';
  494.                                        END;
  495.                                      Anzahl := Anzahl - 1;
  496.                                      Daten := 1;
  497.                                     END;
  498. END;
  499. END;
  500.  
  501. PROCEDURE Loeschen;
  502. VAR Loesch : INTEGER;
  503. BEGIN
  504.   IF Daten = 0 THEN Nothing
  505.   ELSE BEGIN
  506.   REPEAT;
  507.   CLRSCR(Window);
  508.  
  509.   WRITELN(Window,'=========================================================================');
  510.   WRITELN(Window,'=                        A D R E S S E N  L Ö S C H E N                 =');
  511.   WRITELN(Window,'=========================================================================');
  512.  
  513.   WRITELN(Window);
  514.   WRITELN(Window,'                      [1] ... Alle Adressen löschen');
  515.   WRITELN(Window,'                      [2] ... Bestimmte Adressen löschen');
  516.   WRITELN(Window,'                      [0] ... Ende');
  517.   WRITELN(Window);
  518.   WRITE(Window,'                     > ');
  519.   READLN(Window,Loesch);
  520.   UNTIL (Loesch > -1) OR (Loesch < 3);
  521.   IF Loesch = 1 THEN AllesLoeschen
  522.   IF Loesch = 2 THEN BestimmteLoeschen;
  523.   IF Loesch = 3 THEN MainMenu;
  524. END;
  525. END;
  526.  
  527. PROCEDURE Info;
  528. VAR Return : STRING
  529. BEGIN
  530.   CLRSCR(Window);
  531.  
  532.   WRITELN(Window,'AMIGA ADRESSEN VERWALTUNG [AAV] V1.0');
  533.  
  534.   WRITELN(Window);
  535.   WRITELN(Window,'Copyright 1993 Holger Mense');
  536.   WRITELN(Window,'Freeware - kopieren erlaubt...');
  537.   WRITELN(Window);
  538.   WRITELN(Window,'Für Fragen, Verbesserungen, Programmfehler etc. schreiben Sie an:');
  539.   WRITELN(Window);
  540.   WRITELN(Window,'                   ***************************');
  541.   WRITELN(Window,'                   *     Holger  Mense       *');
  542.   WRITELN(Window,'                   *   Im  Schilffeld 34     *');
  543.   WRITELN(Window,'                   * 33378 Rheda-Wiedenbrück *');
  544.   WRITELN(Window,'                   *   Tel.:  05242 / 2891   *');
  545.   WRITELN(Window,'                   ***************************');
  546.   WRITELN(Window);
  547.   WRITELN(Window);
  548.   WRITE(Window,'                              [RETURN]');
  549.   READLN(Window,Return)
  550. END;
  551.  
  552. BEGIN
  553.   ASSIGN(Window, 'CON:0/0/640/256/AAV V1.0');
  554.   RESET(Window);
  555.   IF EOF(Window) THEN ERROR('Could not open window!');
  556.   Anzahl := 0;
  557.   Daten := 0;
  558.   REPEAT;
  559.   REPEAT;
  560.   REPEAT;
  561.   MainMenu;
  562.   IF IntWahl = 1 THEN Eingeben;
  563.   IF IntWahl = 2 THEN Ausgeben;
  564.   IF IntWahl = 3 THEN Laden;
  565.   IF IntWahl = 4 THEN Speichern;
  566.   IF IntWahl = 5 THEN Sortieren;
  567.   IF IntWahl = 6 THEN Suchen;
  568.   IF IntWahl = 7 THEN Loeschen;
  569.   IF IntWahl = 8 THEN Drucken;
  570.   IF IntWahl = 9 THEN Info;
  571.  UNTIL (IntWahl > 0 ) OR (IntWahl <10);
  572.  UNTIL IntWahl = 0;
  573.  CLRSCR(Window);
  574.  COORD(26,15); WRITE(Window,'Sind Sie sicher (j/n)? '); READLN(Window,Wahl);
  575.  UNTIL (Wahl = 'j') OR (Wahl = 'J');
  576.  CLOSE(Window);
  577.  WRITELN;WRITELN('AMIGA ADRESSEN VERWALTUNG by HOLGER MENSE /// ©1993 /// FREEWARE');
  578.  WRITELN;
  579. END.
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.